package leetcode;

import java.util.Scanner;

/**
 * 素数个数统计：统计n以内的素数个数
 */

public class Shusu {


    public static int bf(int n){
        int count = 0;
        for(int i=2;i<n;i++){
            count += isPrime(i)? 1:0;
        }
        return count;

    }

    private static boolean isPrime(int i) {
        for(int x=2;x*x<=i;x++){
            if(i%x==0){
                return false;
            }
        }
        return true;
    }

    public static int eratosthenes(int n){
        boolean [] isPrime = new boolean[n]; //false表示全是素数
        int count = 0;
        for(int i=2;i<n;i++){
            // 判断他是素数才能进入判断
            if(!isPrime[i]){
                count ++;
                for(int j =i*i;j<n;j+=i){
                    // 把他置为true,方便判断他是合数
                    isPrime[j] = true;
                }
            }
        }
        return count;
    }



    public static void main(String[] args) {
        int i = 6/2;
        System.out.println(i);
        System.out.println(bf(100));
        System.out.println("-----------------");
        System.out.println(eratosthenes(100));

    }
}
